1. Field of the Invention
The present invention generally relates to mass storage systems, and more particularly, to mass storage systems that store redundant data.
2. Description of the Related Art
A common method of speeding up access to data is to use a so-called write cache. This data is created when a host operating system stores data on permanent data storage. Rather than immediately store the data onto a storage device's hard disk drives, for example, the storage device's controller stores the data into its high-speed cache and signals to the he host operating system that the data has been successfully stored. This significantly speeds up the acknowledgment back to the host operating system that the data has been successfully stored. This data is also immediately available from high-speed cache memory if the host operating system issues a read request with respect to the data just written. When it is convenient to data storage system, the data in the write cache is flushed to the hard drive, where it now “permanently” stored.
Until the write cache data is actually stored on the hard disk drive, it remains “dirty.” “Dirty” is a term of art to indicate that write cache data has yet to be written to permanent data storage. This data is vulnerable to being permanently lost if there is a power outage. Most, if not all, cache memories are volatile memories that need electric power in order to store data.
To lessen the risk of data loss in the case of power outages, some data storage systems employ battery backups so that the data in the write cache is not lost. When the power is restored, the data storage system must have a way of recognizing that dirty write cache data is present and should be written to permanent data storage. In some cases, the system environment may be altered while power is out such that it would be inappropriate to write the dirty write cache data to the read data storage on power up. For example U.S. Pat. No. 5,448,719 to Schulz et al. describes checking a so-called “configuration identification code” that verifies the correspondence between the write cache “board” and its disk drive system before the dirty data is written onto the disk drive system.
Many failsafe data storage systems provide, however, two independent controllers for storing data on the permanent data storage. If either of these fails the other one can continue to operate while the failed controller is replaced or repaired. In such an environment, it would be inappropriate for the dirty data in the write cache of the failed controller to be written to the data permanent data storage because the other controller continued to operate. Other these circumstances, the data environment changed even while the physical storage environment did not change.
Thus there is a need to provide restoration of dirty write cache data after loss of power in a storage system environment employing two independently powered write caches with two independently powered battery backups.